<?php
namespace app\model\customer;

use app\model\BaseModel;

/**
 * 客户联系人模型
 * 对应数据库表: oa_customer_contact (客户联系人表)
 */
class CustomerContact extends BaseModel
{
    // 设置表名（不包含前缀）
    protected $name = 'customer_contact';
    
    // 设置主键
    protected $pk = 'id';
    
    // 设置字段类型
    protected $type = [
        'cid' => 'integer',
        'is_default' => 'integer',
        'sex' => 'integer',
        'birthday' => 'datetime',
        'admin_id' => 'integer',
        'create_time' => 'int',
        'update_time' => 'int'
    ];

    // 可搜索字段
    protected $searchField = [
        'cid',
        'name',
        'mobile',
        'email'
    ];
    
    /**
     * 获取客户的默认联系人
     * @param int $customerId 客户ID
     * @return array|null 联系人信息或null
     */
    public function getDefaultContactByCustomerId(int $customerId)
    {
        return $this->where('cid', $customerId)
            ->where('is_default', 1)
            ->where('delete_time', 0)
            ->find();
    }
    
    /**
     * 添加客户联系人
     * @param array $data 联系人数据
     * @return int|false 添加结果，成功返回ID，失败返回false
     */
    public function addContact(array $data)
    {
        // 设置默认值
        $data['delete_time'] = 0;
        $data['create_time'] = time();
        $data['update_time'] = time();
        
        return $this->insertGetId($data);
    }
}